
$(function() {
    $("#openMore").click(function() {
        $("#more-form").dialog("open");
    });
    

    $("#more-form").dialog({
        autoOpen: false,
        height: 500,
        width: 1250,
        modal: true,
        buttons: {
            "建立帳戶": function() {
//                alert(getData()["country"]);
                if(validation()){   //驗證資料
                    return;
                }
                $.ajax({
                    url: "ILS_regis.ils?ils=chkRand",
                    async: false,
                    data:getData(),
                    type: 'post',
                    success: function(res) {
                    	if("success" == res){
	                    	$.ajax({
	                            url: "ILS_regis.ils?ils=First",
	                            async: false,
	                            data:getData(),
	                            type: 'post',
	                            success: function(res) {
	                            	if("success" == res){
	                                    alert("註冊成功！\n請登入！");
	                                    clearData();
	                                    $("#more-form").dialog("close");
	                            	}else{
	                            		alert("註冊失敗！");
	                            	}
	                            },
	                            error: function(data) {
	                                alert("連線失敗！");
	                            }
	                        });
                    	}else{
                    		alert("驗證碼驗證失敗！\n請再試一次");
                    	}
                    },
                    error: function(data) {
                        alert("連線失敗！");
                    }
                });
            },
            "取消": function() {
                $(this).dialog("close");
            }
        },
        close: function() {
            allFields.val("").removeClass("ui-state-error");
        }
    });
});


//return true : 沒通過驗證
function validation(){
    
    var data = getData();   //資料物件
    if(checkEmpty(data))return true;   //必填欄位
    if(checkValidate())return true; //欄位合法性

    return false;
}

//得到目前所有資料
function getData(){
    var dataObject = {
        "account" : $("#account").val(),
        "password" : $("#password").val(),
        "passwordChk" : $("#passwordChk").val(),
        "lastName" : $("#lastName").val(),
        "firstName" : $("#firstName").val(),
        "country" : $("input[name=country]:checked").val(),
        "sex" : $("input[name=sex]:checked").val(),
        "old" : $("input[name=old]:checked").val(),
        "work" : $("input[name=work]:checked").val(),
        "otherWork" : $("#otherWork").val(),
        "unit" : $("#unit").val(),
        "called" : $("#called").val(),
        "live" : $("input[name=live]:checked").val(),
        "otherLive" : $("#otherLive").val(),
        "rand" : $("#rand").val()
    };
    
    return dataObject;
}

//清除資料
function clearData(){
     $("#account").val("");
        $("#password").val("");
        $("#passwordChk").val("");
        $("#lastName").val("");
        $("#firstName").val("");
         $(".radio_uncheck_class").removeAttr("checked");
         $("#sex").val("");
        $("#old").val("");
         $("#work").val("");
        $("#otherWork").val("");
        $("#unit").val("");
        $("#called").val("");
        $("#live").val("");
         $("#otherLive").val("");
        $("#rand").val("");
        $("#loginAccount").val("");
        $("#loginPassword").val("");
}

//將key轉為中文
function changeChinese(value){
    var resultString;
    if("account" == value)
        resultString = "帳號";
    if("password" == value)
        resultString =  "密碼";
    if("passwordChk" == value)
        resultString =  "確認登入密碼";
    if("lastName" == value)
        resultString =  "姓氏";
    if("firstName" == value)
        resultString =  "姓名";
    if("country" == value)
        resultString =  "國籍";
    if("sex" == value)
        resultString =  "性別";
    if("old" == value)
        resultString =  "年齡";
    if("work" == value)
        resultString =  "職業類別";
    if("otherWork" == value)
        resultString =  "其他職業";
    if("unit" == value)
        resultString =  "服務單位";
    if("called" == value)
        resultString =  "職稱";
    if("live" == value)
        resultString =  "居住地區";
    if("otherLive" == value)
        resultString =  "其他居住地區";
    if("rand" == value)
        resultString =  "驗證碼";
    
    return resultString;
}

//驗證是否沒填寫必填欄位
function checkEmpty(data){
    var isEmpty = false;   //因會和each迴圈的return衝突, 故將boolean值拉出來記錄
    
    
    
    //return; 在each中視為continue
    //return false; 在each中視為break
    $.each( data, function( key, value ) {
        if("" == value || undefined == value){
            if(checkForOther(key))return; //跳過處理Other欄位,因other不是必填
            alert(changeChinese(key) + "必填");
            $("#"+key).focus();
            isEmpty = true;
            return false;   //跳離此each迴圈
        }
    });
    return isEmpty;
}

//驗證欄位合法性
//return true : 沒通過驗證
function checkValidate(){
    if(otherValidate("work","otherWork",17))return true;   //驗證職業類別
    if(otherValidate("live","otherLive",30))return true;   //驗證居住地區
    if($("#password").val() != $("#passwordChk").val()){
    	alert("登入密碼與確認登入密碼不符，請再輸入一次！");
    	$("#passwordChk").focus();
    	return true;
    }
}

//驗證是否有需要輸入其他欄位
function otherValidate(item,item2,number){
        if($("input[name="+item+"]:checked").val() == number)   //若職業類別選其他
        {
            if($("#"+item2).val() == "")
                {
                   alert("請輸入 " + changeChinese(item2));
                   $("#" + item2).focus();
                    return true;
                }
        }
}

//檢查字串是否有other
function checkForOther(key){
    if (key.toLowerCase().indexOf("other") >= 0)return true;
}